A Base de Tudo — Variáveis e Dados Simples
Descubra como o Python guarda informações, domine os tipos de dados fundamentais e cultive boas práticas que deixarão seu código claro e confiável desde o primeiro dia.
Você vai aprender a
- ✅Relacionar variáveis com a memória do computador.
- ✅Identificar os principais tipos de dados e quando usá-los.
- ✅Receber e converter informações digitadas pela pessoa usuária.
Introdução: como o computador guarda informações?
Todo programa, do script mais curto ao sistema que integra dados de campo, precisa manipular informações. Elas podem ser o nome de uma rua, a altura de um poste, uma coordenada GPS ou a lista de bairros da sua cidade. Para trabalhar com tudo isso, o computador reserva espaços temporários na memória RAM, e nós damos rótulos para encontrar esses espaços com facilidade: as variáveis.
Analogia das caixinhas
Imagine várias caixinhas etiquetadas em uma prateleira (a memória). Cada etiqueta é o nome da variável e dentro dela colocamos o valor que precisamos durante a execução do programa.
- 📦nome_da_rua guarda “Avenida Mauro Ramos”.
- 📦numero_do_predio guarda
950. - 📦tem_estacionamento guarda
True.
# Criando "caixinhas" e etiquetando valores
nome_da_rua = "Avenida Mauro Ramos"
numero_do_predio = 950
tem_estacionamento = True
# Variáveis podem ser atualizadas ao longo do tempo
temperatura_atual = 25.5
temperatura_atual = 26.0 # entrou um novo valor na mesma caixinha
Atenção: em Python o símbolo = significa atribuição. Para comparar valores usamos ==. Guarde esta diferença para evitar bugs silenciosos.
Variáveis simples: os tipos que usamos todos os dias
Chamamos de tipos primitivos os valores que representam uma única informação. Saber diferenciá-los garante precisão em cálculos, mapas e relatórios.
String (str) — texto
Perfeita para nomes, endereços, códigos de setor e qualquer dado qualitativo.
nome_municipio = "Florianópolis"
tipo_de_poste = "Concreto Armado"
codigo_do_mapa = "FLN_MAPA_01"
cep_ifsc = "88020-300"
setor_censitario = "0014"
print(type(nome_municipio)) # <class 'str'>
Integer (int) — números inteiros
Use para contagens exatas, identificadores sequenciais e cálculos sem casas decimais.
ano_de_fundacao = 1726
quantidade_de_postes = 150
populacao_setor_A = 534
altitude_metros = 812
print(type(quantidade_de_postes)) # <class 'int'>
Float (float) — números com casas decimais
Fundamentais para coordenadas, distâncias, áreas e medições que exigem precisão.
.) como separador decimal. Vírgula (,) produz erros silenciosos.
latitude = -27.59397
altura_do_poste = 8.5
area_lote_m2 = 450.75
distancia_km = 1.25
print(type(latitude)) # <class 'float'>
Boolean (bool) — verdadeiro ou falso
São as respostas “sim” ou “não” que direcionam as decisões lógicas do programa.
lampada_acesa = True
requer_manutencao = False
area_protegida = True
dentro_do_limite_urbano = False
print(type(lampada_acesa)) # <class 'bool'>
Nomeando variáveis com clareza
Um código com bons nomes se explica sozinho. Isso vale para revisões rápidas e para o trabalho em equipe.
Regras obrigatórias
- Comece com letra ou sublinhado. Ex.:
rua,_temporario. - Use apenas letras, números e
_. Evite espaços e símbolos. - Não utilize palavras reservadas como
forouTrue. - Lembre-se:
cidade,CidadeeCIDADEsão nomes diferentes.
Boas práticas que ajudam no dia a dia
- Prefira nomes descritivos, como
latitude_inicial. - Adote o padrão snake_case para termos compostos.
- Evite nomes quase iguais:
dado,dado1,dado2geram confusão.
Dica do professor: quando o nome da variável deixa claro o que ela guarda, você pode reduzir a quantidade de comentários e focar em explicar o “porquê” do algoritmo.
Entrada de dados e conversões necessárias
Programas interativos recebem dados com input(). Essa função sempre devolve texto, por isso precisamos convertê-lo quando desejamos operar numericamente.
cidade = input("Digite o nome da sua cidade: ")
print(f"Você mora em {cidade}")
valor1 = input("Primeiro número: ")
valor2 = input("Segundo número: ")
# Atenção: aqui ainda são strings!
soma_errada = valor1 + valor2
print(soma_errada) # '105' se a pessoa digitar 10 e 5
Conversão explícita salva o resultado
Transforme para inteiro ou decimal antes de calcular:
valor1 = int(input("Primeiro número: "))
valor2 = int(input("Segundo número: "))
soma = valor1 + valor2
print(f"Resultado correto: {soma}")
idade = int(input("Sua idade: "))
altura = float(input("Altura em metros: "))
Operadores aritméticos no dia a dia
Somar, subtrair, multiplicar e dividir funcionam como você espera. A tabela resume os principais símbolos:
| Operador | Descrição | Exemplo | Resultado |
|---|---|---|---|
| + | Adição | 5 + 3 | 8 |
| - | Subtração | 5 - 3 | 2 |
| * | Multiplicação | 5 * 3 | 15 |
| / | Divisão (sempre float) | 10 / 2 | 5.0 |
| // | Divisão inteira (quociente) | 10 // 3 | 3 |
| % | Resto da divisão | 10 % 3 | 1 |
| ** | Exponenciação | 2 ** 3 | 8 |
resultado_errado = 10 + 20 / 2 # Divisão acontece primeiro
print(f"Resultado errado: {resultado_errado}")
resultado_correto = (10 + 20) / 2 # Forçando a soma vir antes
print(f"Resultado correto: {resultado_correto}")
Curiosidade
Em Python, o operador // sempre arredonda para baixo. Em trabalhos com coordenadas, use-o para converter segundos em graus inteiros.
Formatação elegante com f-strings
As f-strings dão clareza às mensagens e evitam concatenações confusas:
proprietario = "Ana"
area = 450.753
lote = "A-15"
print(f"O lote {lote}, pertencente a {proprietario}, possui {area:.2f} m².")
print(f"Geocódigo: {lote.lower()}-{area:.0f}")
Dentro das chaves, você pode colocar expressões, aplicar filtros de formatação (:.2f para duas casas decimais) e até chamar funções. Aproveite para padronizar unidades e mensagens.
Exemplo avançado: interpolando funções
def formatar_endereco(rua, numero, cidade):
return f"{rua}, {numero} - {cidade.upper()}"
print(formatar_endereco("Rua das Acácias", 120, "Florianópolis"))
Exercício rápido
- Crie três variáveis para armazenar: nome de um bairro, número de domicílios e densidade populacional (float).
- Peça para a pessoa usuária digitar a área do bairro (em km²) e calcule a densidade automaticamente.
- Mostre o resultado em uma frase usando f-string, com a densidade formatada com duas casas decimais.
Sugestão: compartilhe sua solução no fórum da turma para comparar abordagens.
Conclusão e próximos passos
Você agora entende como o Python armazena e manipula informações fundamentais:
- Variáveis como rótulos para a memória do computador.
- Tipos primitivos (string, int, float, bool) e seus usos.
- Como nomear variáveis com clareza e coerência.
- O papel de
input()e das conversões para inteiros e decimais. - Operadores matemáticos e f-strings para exibir resultados profissionais.
Na próxima etapa, vamos reunir várias “caixinhas” em estruturas mais poderosas, como listas e dicionários, preparando o terreno para manipular dados geoespaciais reais.